package lx;

import java.util.HashSet;

public class demo1 {
    public static void main(String[] args) {
        Student s1 = new Student("张三", 8);
        Student s2 = new Student("张三", 8);
        Student s3 = new Student("李四", 18);
        Student s4 = new Student("王五", 17);
        HashSet<Student> set = new HashSet<Student>();
        set.add(s1);
        set.add(s2);
        set.add(s3);
        set.add(s4);
        //重写hashCode方法就可以去重复的对象
        //因为重写hashCode方法,比的是属性值,属性值一样,哈希值一样,所以添加不成功
        //不重写比的是地址值,创建出来的对象地址值永远不一样,所以哈希值不一样,所以添加成功
        //如果已经重写hashcode方法，不同的对象只要属性值相同，计算出的哈希值就是一样
        //重写equals方法也一样 比的也是地址值,不是属性值
        for (Student student : set) {

            System.out.println(student);
        }


    }
}
